|
|
Blurred reflection can be extremely slow. For example, the following
scene will take _FOREVER_ to calculate:
#version unofficial MegaPov 0.4;
global_settings { max_trace_level 6 }
camera { location <-2,1,-4> look_at 0 angle 60 }
light_source { <3,4.9,-4> 1 }
box
{ -5,5 inverse
pigment { rgb <.3,.5,1> }
finish
{ specular .5
reflection 1 reflection_blur .04 reflection_samples 20
}
}
It shouldn't be strange, however, since povray is calculating an amazing
amount of 3200001 rays per pixel!
Lowering max_trace_level will help (for example with max_trace_level set
to 3 it will calculate only 401 rays per pixel). However this is not a good
solution if there are transparent objects in the scene.
There should be a max_trace_level that could be applied to the blurred
reflection. After it's reached, only regular reflection would be used
(I think that the blurred refraction patch uses this method). Also a
adc_bailout value for blurred reflection could be good.
A more advanced method could be something like: The first reflection is
calculated with all the specified 20 samples, the second reflection could
use only 10 samples, the third 5 samples, and so on. The decrease factor
could be user-specified.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|